Multiple Pathway Session Setup to Support QOS Services

ABSTRACT

A request from a user device is received for a service by a network management server via a communication network. The network management server determines multiple routes for delivering content associated with the requested service based on a provisioning profile for the user device. Content associated with the requested service is then delivered via the determined multiple routes. The provisioning profile is updated and includes preferred service types, desired QoS for one or more services, client account information, and/or client credit verification information. The network management server manages the delivery of the content associated with the requested service via the determined multiple routes. The content includes packets that are the same, which are communicated or delivered simultaneously via the determined multiple routes. The network management server allocates one or more of the determined multiple routes for delivering the content based on priorities associated with the routes.

PRIORITY CLAIM

This application claims priority to U.S. patent application Ser. No. 12/323,402, filed Nov. 25, 2008, pending, which is entirely incorporated herein by this reference.

TECHNICAL FIELD

Certain embodiments of the invention relate to communication systems. More specifically, certain embodiments of the invention relate to a method and system for multiple pathway session setup to support QoS services.

BACKGROUND

With the increasing importance of the Internet as a commercial infrastructure and the increasing need for massive Internet based services such as Voice over Internet Protocol (VoIP), the operation of the IP network is becoming more important and complex than ever. Current Internet architecture is mostly based on the best effort (BE) model, where packets can be dropped indiscriminately in the event of congestion. Such an architecture attempts to deliver all traffic as soon as possible within the limits of its abilities. The BE model works well for some applications such as FTP and email. To attract more users, Internet service providers (ISPs) provide not only best-efforts services such as email but also various newly emerged real-time multimedia applications such as VoIP, Video-Conferencing and Video on-Demand (VoD). To this end, various technologies such as stream categorizing and traffic monitoring are utilized to meet QoS requirements associated with various IP based services.

Further limitations and disadvantages of conventional and traditional approaches will become apparent to one of skill in the art, through comparison of such systems with some aspects of the present invention as set forth in the remainder of the present application with reference to the drawings.

BRIEF SUMMARY

A method and/or system for multiple pathway session setup to support QoS services, substantially as shown in and/or described in connection with at least one of the figures, as set forth more completely in the claims.

These and other advantages, aspects and novel features of the present invention, as well as details of an illustrated embodiment thereof, will be more fully understood from the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system diagram illustrating an exemplary communication system that enables multiple pathway session setup to support QoS services, in accordance with an embodiment of the invention.

FIG. 2 is a block diagram illustrating an exemplary server device that is operable to enable multiple pathway session setup to support QoS services, in accordance with an embodiment of the invention.

FIG. 3 is a block diagram illustrating an exemplary connection management module that enables multiple pathway session setup to support QoS services, in accordance with an embodiment of the invention.

FIG. 4 is a block diagram illustrating an exemplary user device that is operable to support a multipath connection call, in accordance with an embodiment of the invention.

FIG. 5 is a flow chart illustrating an exemplary multipath connection session setup procedure, in accordance with an embodiment of the invention.

FIG. 6 is a flow chart illustrating exemplary multipath connection packet routing, in accordance with an embodiment of the invention.

DETAILED DESCRIPTION

Certain embodiments of the invention may be found in a method and system for multiple pathway session setup to support QoS services. In accordance with various embodiments of the invention, a user device transmits a request to a network management (NM) server for a service such as a VoIP call with an intended user device. The NM server is connected to an IP core network. Upon receiving the request, the NM server determines multiple routes for providing the requested service based on a provisioning profile associated with the user device. The determined multiple routes are used to communicate or deliver content for the requested service over the IP core network. The user device then utilizes the requested service via the determined multiple routes. The client provisioning information, which is accessible by the NM server, may be updated by communicating with the user of the user device through an access network and/or the IP core network. The provisioning profile comprises information such as, for example, preferred service types, desired QoS for particular services, client account information, and/or client credit verification information. A load for the requested service is distributed over the determined multiple routes in various ways. For example, the NM server is configured to manage various components in the IP core network to communicate or deliver content for the service served over the determined multiple routes simultaneously. In this regard, the NM server is operable to enable communication and/or delivery of content for the associated service served over the determined multiple routes simultaneously.

In one embodiment of the invention, in order to increase reliability, different sets of packets associated with content for the service are routed over different routes among the determined multiple routes to take advantage of diversity combining different paths. Moreover, the NM server may be configured to allocate the determined multiple route based on, for example, the route costs and/or route reliability levels. In this regard, the determined multiple routes are prioritized, for example, as one primary route and one or more secondary routes. The NM server is operable to communicate or deliver content for the requested service via the primary route alone, and/or via one or more of the secondary routes. In instances where the primary route QoS degrades, the NM server is configured to enable a soft handoff of the service to one or more secondary routes from the primary route. The soft handoff feature ensures a seamless user experience by delivering content for the service over the determined alternate route prior to stopping delivering content for the service over the primary route. In addition, the NM server is operable to deliver content for the service over the primary route along with one or more secondary routes as a backup.

FIG. 1 is a system diagram illustrating an exemplary communication system that enables multiple pathway session setup to support QoS services, in accordance with an embodiment of the invention. Referring to FIG. 1, there is shown the system of FIG. 1 comprises a plurality of network management (NM) servers 110 a-110 e, that are collectively referenced as network management servers 110, a core network 120 comprising a plurality of routers 120 a-120 i, a plurality of access networks 130 a-130 c, a plurality of user devices, of which a cell phone 140 a, a smartphone 140 b, and a laptop 140 c are presented.

Each of the NM servers 110 such as the NM server 110 a comprises suitable logic, circuitry and/or code that are operable to manage various aspects of network communications such as, for example, selecting an access network that a client such as the cell phone 140 a uses to access the core network 120 and determining core network routes for forwarding various client packet streams toward intended recipients. The NM server 110 a is configured to manage client registration and client provisioning. In this regard, the client provisioning may be performed automatically and/or manually via user inputs. The client provisioning information comprises, for example, preferred Internet Service Provider (ISP), preferred services, a username tied to the account, and associated billing information. In this regard, the client provisioning information such as the preferred services is used to enable a multipath connection call. The NM server 110 a is also operable to handle associated client locations. For example, in a mobile IP environment, the NM server 110 a manage clients' available IP addresses and forwards client packet streams for each connection session using appropriate IP address notified by corresponding clients.

Various client-server signaling messages such as a service setup request are processed at the NM server 110 a. For example, upon receiving a service setup request message from a user device such as the cell phone 140 a, the NM server 110 a is operable to select a route to form a connection between the cell phone 140 a and an intended peer user device such as the smartphone 140 b. In this regard, the NM server 110 a is configured to select multiple pathways (routes) to set up or establish the connection or connections for the requested service. Packets for the requested service are communicated or delivered via the selected multiple routes to enhance QoS for the service. To enable communications over the connection, a communication session, which indicates a sequence of client-server interactions within a timeframe, is created by the NM server 110 a.

The NM server 110 a is operable to generate a unique session ID for the created session and communicates with the cell phone 140 a and the smartphone 140 b, respectively. An associated session profile of the created session comprises various session parameters such as, for example, session ID, time stamp, type of service (ToS), user ID, and/or addresses and ports. The session profile is stored at the NM server 110 a for later use. Session parameters are primarily used to influence server operations. For example, the NM server 110 a is operable to establish, maintain, update, and/or terminate the session per defined communication session parameters. In this regard, the NM server 110 a is configured to establish the communication session over one or multiple pathways at the service requests of associated user devices such as the cell phone 140 a and/or the smartphone 140 b. In the event that users of the cell phone 140 a and/or the smartphone 140 b are willing to gain a QoS enhanced service such as a VoIP call, the NM server 110 a is operable to select multiple routes and establish the session over the selected multiple routes.

The core network 120 comprises suitable logic, circuitry and/or code that are operable to interface various access networks such as the access network 130 a-130 c with external data networks such as PDNs and the internet. There are a number of routers connected through links in the core network 120. Each router such as the router 120 a comprises suitable logic, circuitry and/or code that are operable to forward packet streams to intended recipients. The router 120 a is configured to exchange information such as link resource information for each link with one another. The link resource information comprises information of the resources available and information of the resources which have boon reserved. Routers within the core network 120 are managed by the NM servers 110 in a unified way to allow easy and efficient maintenance thereof.

Various user devices such as the cell phone 140 a comprise suitable logic, circuitry and/or code that enable various data communications via the access network 130 a and/or the core network 120. The cell phone 140 a is enabled to access various services via the NM server 110 a, for example. The cell phone 140 a is operable to gain QoS enhancement for some preferred services. For example, in the event that the user of the cell phone 140 a wishes to pay more for a QoS guaranteed VoIP call, the cell phone 140 a is then provisioned for a multipath connection call at the NM server 110 a.

In an exemplary operation, it is desirable for the cell phone 140 a to perform a VoIP call with the smartphone 140 b with desired QoS requirements. The cell phone 140 a issues a service request to the NM server 110 a with the required QoS. The NM server 110 a is operable to select multiple routes for the requested service based on client provisioning information. The NM server 110 a creates a communication session and generates an associated session ID for implementing the requested service over the selected multiple routes. The NM server 110 a then informs or notifies the cell phone 140 a and the smartphone 140 b of the generated session ID and corresponding access router addresses. The session is established over the selected multiple routes. The packets for the VoIP call are forwarded over the selected multiple routes towards intended recipients, accordingly. In the event that the multiple routes are prioritized, the NM server 110 is enabled to arrange the delivery of the VoIP packets over one or more routes of the prioritized multiple routes. The selection of the one or more routes is determined based on corresponding priority levels. For example, the primary route is considered first for delivering the VoIP packets to users of the cell phone 140 a and/or the smartphone 140 b.

FIG. 2 is a block diagram illustrating an exemplary server device that is operable to enable multiple pathway session setup to support QoS services, in accordance with an embodiment of the invention. Referring to FIG. 2, there is shown a NM server 200 comprising a server connection management module (SCMM) 202, a server mobility management module (SMMM) 204, a core resource management module (CRMM) 206, a server processor (SP) 208, and a server memory (SM) 210.

The SCMM 202 comprises suitable logic, circuitry and/or code that are operable to monitor network connectivity and handle various connection session signaling messages with clients such as the cell phone 140 a and the smartphone 140 b. The connection session signaling messages comprise various service or QoS request messages. For example, upon the receipt of a QoS message from a user device such as the cell phone 140 a via the server processor (SP) 208, the SCMM 202 is configured to execute various operations related to admission control and route control. In this regard, the SCMM 202 is enabled to access the client provisioning information and set up a multipath connection to support the requested service. To set up the multipath connection, the SCMM 202 evaluates network resource status from the CRMM 206 and selects multiple routes and/or access networks for requested service. The information associated with the selected multiple routes and/or access networks are forwarded back to the SP 208 for further processing. The SCMM 202 is enabled to select the routes by using various algorithms stored in the SM 210. For example, each of the multiple routes is selected by maximizing available bandwidth over the route, or by minimizing the number of routers or hops across the route. Routes may also be selected based on cost of the route. Since higher cost routes may guarantee higher QOS, the higher cost routes may be chosen over lower cost routes to ensure higher quality QOS. The SCMM 202 is operable to maintain and release various routes within the core network 120.

The SMMM 204 comprises suitable logic, circuitry and/or code that are operable to manage mobility information such as, for example, client addresses and client locations for the system of FIG. 1. The SMMM 204 is configured to handle mobility information via various client address mappings to ensure a seamless user experience. The mobility information is provided to the SCMM 202, the CRMM 206, and the SP 208 such that packet streams for each active session are transmitted to intended recipients notified by respective clients.

The CRMM 206 comprises suitable logic, circuitry and/or code that are operable to handle route resource information according to various QoS requirements and system capabilities. In the event that a resource request from the SCMM 202 is received by the CRMM 206, the CRMM 206 evaluates resource status of the core network 120. The CRMM 202 provides core resource information such as status of routes with available resources in the core network 120, to the SCMM 202 to be used for various route selections.

The SP 208 comprises various types of processors or circuitry such as a microprocessor, a digital signal processor, an Application Specific Integrated Circuit (ASIC), or a combination of processing type devices. The SP 208 is operable to execute a plurality of software instructions, which are stored in the server memory (SM) 210 and downloaded for execution. In this regard, the SP 208 is configured to calculate session IDs for various connection sessions using various algorithms stored in the SM 210. The SP 208 is operable to communicate various information such as, for example, the route selection information from the SCMM 202, with clients via the core network 120 and various access networks such as the access network 130 a.

The SM 210 comprises suitable logic, circuitry, and/or code that are operable to enable storage of data and/or other information utilized by the NM server 200. For example, the server memory 206 is utilized to store processed data generated by the SP 208. The SM 210 is also utilized to store information such as session profiles that are utilized to control various operations of the NM server 200. The SM 210 is operable to store information necessary to enable or disable a particular service for a given user device. The server memory 206 is also operable to store some executable instructions for, for example, a connection session set-up, session profile update, and/or connection session re-establishment via re-using updated session profiles. The SM 210 comprises RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage capable of storing data and instructions.

In operation, the NM server 200 receives a service request message from a user device such as the cell phone 140 a. The service request message comprises information such as the associated QoS requirements of the requested service, candidates of access networks that the cell phone 140 a uses, and an identity of an intended peer user device such as the smartphone 140 b. The SP 208 forwards the received service request information to the SCMM 202. The server connection management module 202 is enabled to communicate with the peer user device such as the smartphone 140 b to confirm the received service request. If the smartphone 140 b agrees to communicate with the cell phone 140 a for the requested service, then, the SCMM 202 coordinates with the SMMM 204 to gain mobility information of the related clients. In instances where a multipath connection is requested by the cell phone 140 a, the SCMM 202 communicates with the CRMM 206 to determine whether there are enough routes with available resources in the core network 120 for the requested service. The CRMM 206 then provides the core resource information to the SCMM 202. The core network resource information may comprise information regarding network nodes (routers), network node memory, and/or the links.

The SCMM 202 is operable to determine multiple routes and/or access networks based on the core resource information, accordingly. The SP 206 generates a session ID for communicating packet streams of requested service over the selected multiple routes between the two the smartphone 140 and the notebook computer 150. The generated session ID together with the selected access network information are communicated with related clients. In addition, an associated session profile comprising various session parameters such as session ID and type of service is created and stored in the SM 210 to be used for later communication. In the event that the SP 208 receives packets, which indicate that the received packets are associated with the generated session ID stored in the SM 210, the SP 208 is operable to communicate or deliver the packets over the selected multiple routes to a corresponding recipient, accordingly.

FIG. 3 is a block diagram illustrating an exemplary connection management module that enables multiple pathway session setup to support QoS services, in accordance with an embodiment of the invention. Referring to FIG. 3, there is shown a connection management module 202 comprising a provisioning database 302, a routing engine 304, a traffic recording engine 306, and a traffic database 308.

The provisioning database 302 comprises suitable logic, circuitry and/or code that enable storage of information necessary to route particular calls over the Internet. For example, the information regarding client ID, client preferred services, client account, enhancing QoS for particular calls, client credit verification, and carrier trunk groups. The provisioning database 302 is stored in RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage capable of storing data and instructions.

The routing engine 304 comprises suitable logic, circuitry and/or code that is operable to select various routes for the received service requests based upon one or more attributes such as, for example, the preferred carrier service provider, a desired Quality of Service (QoS), cost, or other factors. The routing information generated by the routing engine 304 comprises a destination router address, and/or a preferred Internet Service Provider, which are used for communicating the traffic or contend for the service to the Internet. In one embodiment of the invention, one or more exclusionary rules are applied to candidate routes based on known bad routes, provisioning information from the provisioning database 302, and/or other data. In this regard, the routing engine 304 utilizes provisioned client information stored in the provisioning database 302, for example, client preferred service, client account and billing information, to select multiple routes to forward packets of the requested service. In one embodiment of the invention, packets for the service are communicated through the selected multiple routes simultaneously. Traffic load is shared among the selected multiple routes. In this regard, the content or packets for selected multiple routes are queued based on, for example, corresponding route reliabilities. The corresponding traffic load is initially serviced by the primary route. In the event that service quality degrades over the primary route, the traffic load then is shared by some secondary selected routes or apportioned among the primary and second route so as to eliminate or mitigate the effects of the degradation.

The traffic recording engine 306 comprises suitable logic, circuitry and/or code that is operable to format traffic information about, for example, a VoIP call, such as the originator, recipient, date, time, duration, incoming trunk group, outgoing trunk group, call states, or other information, into a Call Detail Record (CDR). The CDR is stored in the traffic database 308, and is used to generate billing information for network services.

The traffic database 308 comprises suitable logic, circuitry and/or code that enable storage of CDR data from the traffic recording engine 306. The CDR data are stored in a preferred format to facilitate storage of the CDR data. The CDR data is utilized to support customer billing for network services. The traffic database 308 is stored in RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage capable of storing data and/or instructions.

In operation, the routing engine 304 of the SCMM 202 receives a service request for a VoIP call between the cell phone 140 a and the smartphone 140 b The cell phone 140 a initiated the request. Upon receiving the request, the routing engine 304 then evaluates the client provisioning information of the cell phone. In the event that the provisioning information stored in the provisioning database 302 of the cell phone 140 a indicates that a desired QoS required for this call request, the routing engine 304 selects multiple routes to support the requested VoIP call. The traffic information is recorded in the traffic details recording engine 305 as CDR data. The CDR data are saved in the traffic database 308 for supporting customer billing of the network service.

FIG. 4 is a block diagram illustrating an exemplary user device that is operable to support a multipath connection call, in accordance with an embodiment of the invention. Referring to FIG. 4, there is shown a user device 400 comprising a client application management module (CAMM) 402, a client connection management module (CCMM) 404, a network interface module (NIM) 406, a client processor (CP) 408, a client memory (CM) 410, and a user interface (UI) 412 comprising a keypad 412 a, a microphone (Mic) 412 b, a display 412 c, and a speaker 412 d, respectively.

The CAMM 402 comprises suitable logic, circuitry, and/or code that are operable to manage various application requirements and status. The various application requirements may comprise information regarding best user quality and QoS attributes. The application status may indicate that, for example, the corresponding service is reserved and/or resumed. The CAMM 402 is configured to monitor the fixed and variable port numbers used for identifying and monitoring application data.

The CCMM 404 comprises suitable logic, circuitry, and/or code that are operable to monitor network connectivity as well as the available bandwidth, transmission delay, and error rate of the connected access networks such as the access networks 130 a-130 c. The CCMM 404 is configured to handle various connection session signaling messages with the NM server 110 a, for example, to access services with desired QoS, via the CP 308. The connection session signaling messages comprises various service request messages such as a QoS request message provided by the CAMM 402.

The NIM 406 comprises suitable logic, circuitry, and/or code that are operable to transmit and/or receive radio signals over an access network which is coupled with the core network 120. The access network may be wired or wireless. The communicated radio signals comprise information from the core network 120 which is managed via the NM server 110.

The CP 408 comprises suitable logic, circuitry, and/or code that are enabled to control and/or data processing operations for the user device 400. The CP 408 is operable to process signals to communicate with a supporting communication network. In this regard, the signals comprise various service signaling messages such as a QoS request message. The user device 400 is operable to signal the NM servers 110 for communication session establishment/re-establishment which enables communication of packet streams to intended recipients over the core network 120. In this regard, the CP 408 is configured to communicate with the NM servers 110 to provide and/or modify client provisioning parameters such as client account information and desired QoS for particular preferred services. The CP 408 is enabled to perform client provisioning automatically with predetermined user configuration profile stored in the CM 410 and/or manually with user inputs via, for example, the keypad 412 a and/or the microphone 412 b.

The user interface 412 comprises suitable logic, circuitry and/or code that service the user device 400 via entering user inputs and/or presenting various services to users. The user interface 412 comprises the keypad 412 a, the microphone (Mic) 412 b, the display 412 c, the speaker 412 d, and/or any other type of interfaces that are employed by the user device 400. In the event that a user of the user device 400 is not satisfied with received QoS, the user is allowed to enter user input(s) via, for example, the keypad 412 a and/or the microphone 412 b to provide and/or modify client provisioning information such as, for example, the user is willing to pay more to enhance the QoS of the on-going service.

The CM 410 comprises suitable logic, circuitry, and/or code that enable storage of data and/or other information utilized by the CP 408. For example, the CM 410 is utilized to store processed data generated by the CP 408. The CM 410 is operable to store information, such as user device configuration information, that is utilized to control various operations of the user device 400. Some software and/or code stored in the CM 410 are used to translate user input operations via the keypad 412 a and/or the microphone 412 b into identifiable triggering events to the CP 308 for performing client provisioning with the NM server 110. Communication session information such as associated access router IP addresses and session ID received from the NM servers 110 is stored in the memory 410. The CM 410 is operable to store some executable instructions for running various services on the user device 400.

In operation, in the event that the user device 400 wishes to communicate with a peer user device, the CAMM provides the CP 408 with client application requirements and/or a port number used to identify the client application data at the user device 400. Exemplary client application requirements comprise service type of the application and various QoS attributes such as bit rate and delay constrains associated with the application. The CCMM 404 passes an identity of the peer device such as a telephone number and IP address of a NM server such as the NM server 110 a to the CP 408. The CP 408 then issues a service request to the NM server 110 a via the NIM 406. The service request represents a request to initiate a connection session with the NM server 110 a for a desired QoS with the peer device. Upon receiving a response via the NIM 406 from the NM server 110 a, the CP 408 is operable to extract connection session information such as a session ID and access router address from the response and store in the CM 410. The CP 408 is enabled to communicate packet streams associated with the requested service through the NIM 406 according to the established connection session. The received service is presented to the user via the user interface 412 such as the display 412 c and/or the speaker 412 d, respectively. The CP 408 is operable to provide and/or modify provisioning information regarding user preferred QoS level for the requested service via the NIM 406 before and/or during the requested service established.

FIG. 5 is a flow chart illustrating an exemplary multipath connection session setup procedure, in accordance with an embodiment of the invention. Referring to FIG. 5, the exemplary steps start with the step 502, where a NM server such as the NM service device 110 a receives a connection session setup request from a user device such as the cell phone 140 a. The received request comprises information such as, for example, a client application QoS profile (client application requirements), identifiers, candidate access networks that the cell phone 140 uses. The identifiers comprise, for example, an IP address of the NM server 110 a, port numbers used for identifying application data, destination user device name or address. In step 504, upon receiving the request, the NM server 110 a communicates with the indented user device such as the smartphone 140 b to confirm the received request.

In step 506, the NM server 110 a determines whether the smartphone 140 b will accept or honor the request. In instances where the smartphone 140 b accepts or honors the request, then in step 508, the NM server 110 a evaluates client provisioning profiles stored in the provisioning database 302 to determine actual resources needed such as, for example, a QoS guaranteed multipath connection setup, for the requested service. In instances where the NM server 110 a determines that a multipath connection setup is required for the requested service based on corresponding client provisioning profiles, then in step 510, the NM server 110 a determines whether the core network 120 has available resources to be provided for the requested service. In instances where the NM server 110 a determines that there are available resources provided for the requested service in the core network 120, then in step 512, where the NM server 110 a selects multiple routes for the requested service based on corresponding client provisioning profile.

In step 514, the NM server 110 a generates a session ID for the selected multiple routes. A session profile, which comprises session parameters such as, for example, session ID, time stamp, QoS requirements, type of service, Codec type, user ID, and router IP address, is created and stored in the SM 210 to be used for later communication. In step 516, the NM server 110 a communicates the generated session ID and access router information such as the corresponding access router IP addresses for the cell phone 140 a or the smartphone 140 b to access. The exemplary connection setup procedure stops in step 522.

In step 506, in instances where the cell phone 140 a does not accept the request, then the NM server 110 a signals the cell phone 140 for the rejection decision and the exemplary steps return to the step 502. In step 508, in instances where the NM server 110 a determines that a multipath connection setup is not required for the requested service based on corresponding client provisioning profiles, then in step 518, the NM server 110 a determines whether the core network 120 has available resources for the requested service. In instances where the NM servers 110 determines that there are available resources for the requested service in the core network 120, then in step 520, the NM server 110 a selects a single route for the requested service based on corresponding client provisioning profile. The exemplary steps continue in step 514.

In step 510, in instances where the NM server 110 a determines that there are no available resources for the requested service in the core network 120, then the NM server 110 a signals the cell phone 140 a for the rejection decision and the exemplary steps return to the step 502. In step 518, in instances where the NM server 110 a determines that there are no available resources provided for the requested service in the core network 120, then the NM server 110 a signals the cell phone 140 a for the rejection decision and the exemplary steps return to the step 502.

FIG. 6 is a flow chart illustrating exemplary multipath connection packet routing, in accordance with an embodiment of the invention. Referring to FIG. 6, the exemplary steps start with the step 602, where a multipath connection session has been setup as described in FIG. 5. In step 604, the NM server 110 a determines whether packets streams for the requested service are routed over the selected multiple routes simultaneously. In instances where simultaneous multiple routing is applied for packet forwarding, then in step 606, where the NM server 110 a manage the access routers to communicate or deliver the packets over the selected multiple routes simultaneously. The exemplary steps proceed with continuing packet streaming in step 616. In step 604, in instances where simultaneous multiple routing is not required for packet forwarding, then in step 608, the NM server 110 a queues the selected multiple routes and may rank the selected multiple routes from best to worst, for example. In step 610, the packets are forwarded over the primary route. The ranking may be updated during the communication session. In step 612, the NM server 110 a determines whether the QoS over the primary route is degraded. In instances where the QoS over the primary route is degraded, then in step 614, a soft handoff of the packets from the primary route to one or more secondary routes. Alternatively, packets are forwarded over the primary route together with one or more secondary routes as a backup. The exemplary steps continue in step 616. The use of soft handoff enables the service being delivered over the one or more secondary routes prior to stopping the delivery of contents for the service over the primary route.

Aspects of a method and system for multiple pathway session setup to support QoS services are provided. In accordance with various embodiments of the invention, a user device such as the cell phone 140 a transmits a request to the NM server 110 a for a service such as a VoIP call with an intended user device such as the smartphone 140 b. The NM server 110 a is connected to the core network 120. Upon receiving the request, the NM server 110 a determines multiple routes for the requested service based on a provisioning profile of the user device. The determined multiple routes are used to communicate or deliver content for the requested service over the core network 120. The cell phone 140 a then utilizes the requested service via the determined multiple routes.

The client provisioning information stored in the NM server 110 a may be updated by the user of the cell phone 140 a through the access network 130 a and/or the core network 120. The provisioning profile comprises information such as, for example, preferred service types, desired QoS for particular services, client account information, and/or client credit verification information. A load for the requested service is distributed over the determined multiple routes in various ways. For example, the NM server 110 a is configured to manage various components in the core network 120 to deliver content for the service served over the determined multiple routes simultaneously. In this regard, the NM server 110 a is operable to enable routing same packets associated with the service over the determined multiple routes simultaneously. In some embodiments of the invention, different sets of packets associated with the service may be routed over different routes among the determined multiple routes. Moreover, the NM server 110 a may be configured to allocate the determined multiple route based on, for example, the route cost and/or route reliability levels. The determined multiple routes are prioritized, for example, as one primary route and a plurality of secondary routes.

The NM server 110 a is enabled to route the requested service over the primary route alone, or with assistances of one or more secondary routes. In instances where the primary route QoS degrades, the NM server 110 a is configured to enable a soft handoff the service to one or more secondary routes from the primary route. The soft handoff feature provides a seamless user experience by delivering content for the service over the determined alternate route prior to stopping delivering content for the service over the primary route. In addition, the NM server 110 a is operable to deliver content for the service over the primary route along with one or more secondary routes as a backup.

Another embodiment of the invention may provide a machine and/or computer readable storage and/or medium, having stored thereon, a machine code and/or a computer program having at least one code section executable by a machine and/or a computer, thereby causing the machine and/or computer to perform the steps as described herein for multiple pathway session setup to support QoS services.

Accordingly, the present invention may be realized in hardware, software, or a combination of hardware and software. The present invention may be realized in a centralized fashion in at least one computer system, or in a distributed fashion where different elements are spread across several interconnected computer systems. Any kind of computer system or other apparatus adapted for carrying out the methods described herein is suited. A typical combination of hardware and software may be a general-purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the methods described herein.

The present invention may also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which when loaded in a computer system is able to carry out these methods. Computer program in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: a) conversion to another language, code or notation; b) reproduction in a different material form.

While the present invention has been described with reference to certain embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted without departing from the scope of the present invention. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the present invention without departing from its scope. Therefore, it is intended that the present invention not be limited to the particular embodiment disclosed, but that the present invention will include all embodiments falling within the scope of the appended claims. 

What is claimed is:
 1. A method comprising: at a network management server computer, receiving a connection session setup request from an originating user device; identifying resources needed to satisfy the connection session setup request, including determining that a multipath connection is requested by the originating user device; identifying resources of a core network for the requested multipath connection between the originating user device and a terminating user device; selecting multiple routes for the requested multipath connection in the core network between the originating user device and the terminating user device; generating a session identifier for the selected multiple routes; communicating connection information including the session identifier to the originating user device and the terminating user device; and delivering content associated with the connection session setup request between the originating user device and the terminating user device via the selected multiple routes.
 2. The method of claim 1 further comprising: determining whether the terminating user device will honor the connection setup request from the originating user device.
 3. The method of claim 1 wherein receiving the connection session setup request from the originating user device comprises: receiving one or more of a client application quality of service (QoS) profile defining processing requirements of the originating user device, identification information for the originating user device and the terminating user device, and identification information for one or more access networks used by the originating user device.
 4. The method of claim 1 wherein identifying resources needed to satisfy the connection session setup request comprises: retrieving a client provisioning profile for the originating user device; and evaluating information of the retrieved client provisioning profile for the originating user device to identify the resources needed to satisfy the connection setup session request.
 5. The method of claim 4 wherein identifying resources needed to satisfy the connection session setup request comprises: retrieving a client provisioning profile for the terminating user device; and evaluating information of the retrieved client provisioning profile for the originating user device and the retrieved client provisioning profile for the terminating user device to identify the resources needed to satisfy the connection setup session request.
 6. The method of claim 1 wherein receiving the connection session setup request from the originating user device comprises receiving a client application quality of service (QoS) profile defining processing requirements of the originating user device, and wherein identifying resources of a core network for the requested multipath connection comprises: determining resources of the core network required for a QoS guaranteed multipath connection setup.
 7. The method of claim 6 further comprising: creating a session profile including QoS requirements, and wherein communicating connection information comprises: communicating the session profile to the originating user device and the terminating user device.
 8. The method of claim 1 further comprising: creating a session profile including one or more of time stamp information, QoS requirements, information defining a type of service over the selected multiple routes, information about a codec to be used for communication between the originating client device and the terminating client device, identification information for the originating client device and the terminating client device or both, and address information for routers of the core network to be used or the selected multiple routes.
 9. The method of claim 8 wherein delivering content comprises: determining if the content is to be supplied simultaneously between the originating user device and the terminating user device via the selected multiple routes; if the content is to be delivered simultaneously, managing access routers of the core network to communicate packets from the originating user device to the terminating user device; if the content is not to be delivered simultaneously, queuing the selected multiple routes including a primary route for delivery of packets to the terminating user device; forwarding packets to the terminating user device over the primary route; monitoring quality of service (QoS) over the primary route; if QoS over the primary route is degraded, handing off communication of subsequent packets from the primary route to a secondary route of the selected routes.
 10. The method of claim 9 wherein queuing the selected routes comprises ranking the selected multiple routes according to QoS.
 11. A method comprising: at a network management server, selecting multiple routes through a core network for delivery of content from a source to a terminating user device setting up the selected multiple routes through the core network for delivery of the content to the terminating user device; if simultaneous content routing is specified for delivery of the content to the terminating user device, delivering the content to the terminating user device simultaneously over the selected multiple routes; else, queuing the selected multiple routes including a primary route for delivery of packets to the terminating user device; forwarding packets to the terminating user device over the primary route; monitoring quality of service (QoS) over the primary route; if QoS over the primary route is degraded, handing off communication of subsequent packets from the primary route to a secondary route of the selected routes.
 12. The method of claim 11 wherein queuing the selected routes comprises ranking the selected multiple routes according to QoS.
 13. The method of claim 12 further comprising: subsequently, during communication of the packets to the terminating user device, updating ranking of the selected multiple routes.
 14. A communication system comprising: server connection management circuitry configured to access client provisioning information in response to a received request for a multipath communication service from a requesting user device and set up a multipath communication session over multiple selected routes through a core network for provision of the requested service to the requesting user device; server mobility management circuitry in communication with the server connection management circuitry and configured to provide to the server connection management circuitry mobility information for user devices in communication with the core network including the requesting user device; and processing circuitry in communication with the server connection management circuitry and configured to generate a session identifier for communicating packet streams of the requested service over the multiple selected routes to the requesting user device, the processing circuitry configured to communicate the session identifier to devices including the requesting user device for communication of the requested service, the processing circuitry further configured to receive packets having an indication that the received packets are associated with the generated session identifier and communicate the received packets over the multiple selected routes to the requesting user device.
 15. The communication system of claim 14 further comprising: core resource management circuitry in communication with the server connection management circuitry and configured to determine multiple routes through the core network to support provision of the requested service over the multiple selected routes to the requesting user device and to provide multiple routes information to the server connection management circuitry.
 16. The communication system of claim 15 wherein the core resource management circuitry is configured to receive quality of service (QoS) information for the requesting user device and to determine the multiple routes through the core network using the QoS information.
 17. The communication system of claim 16 wherein the server connection management circuitry is configured to receive from the core resource management circuitry information about the multiple routes through the core network and to set up the multipath communication session over the multiple selected routes through a core network for provision of the requested service using in the received information from the core resource management circuitry.
 18. The communication system of claim 17 wherein the server connection management circuitry is configured to receive from the requesting user device QoS requirements of the requested service and to set up the multipath communication session over the multiple selected routes through a core network for provision of the requested service in fulfillment of the QoS requirements.
 19. The communication system of claim 14 further comprising: memory circuitry in communication with the processing circuitry wherein the processing circuitry is configured to determine a session profile for the requested service, the session profile including information about the session identifier and type of service.
 20. The communication system of claim 14 wherein the server connection management circuitry is configured to determine multiple routes through the core network to support provision of the requested service from an originating user device to the requesting user device. 